#include "LinearMath/btPoolAllocator.h"
#ifdef __cplusplus
extern "C" {
#endif
btPoolAllocator* bullet_NewbtPoolAllocator(int elemSize,int maxElements){
	int c_arg_elemSize=elemSize;
	int c_arg_maxElements=maxElements;
	btPoolAllocator* wrap_out = new btPoolAllocator(c_arg_elemSize,c_arg_maxElements);
	return wrap_out;
}

void* bullet_btPoolAllocator_allocate(btPoolAllocator* c_this,int size){
	int c_arg_size=size;
	void * c_out = c_this->allocate(c_arg_size);
	void* wrap_out = (void*)(void*)(c_out);
	return wrap_out;
}

void bullet_btPoolAllocator_freeMemory(btPoolAllocator* c_this,void* ptr){
	void * c_arg_ptr=(void *)(void*)(ptr);
	c_this->freeMemory(c_arg_ptr);
}

int bullet_btPoolAllocator_getElementSize(btPoolAllocator* c_this){
	int c_out = c_this->getElementSize();
	int wrap_out = (c_out);
	return wrap_out;
}

int bullet_btPoolAllocator_getFreeCount(btPoolAllocator* c_this){
	int c_out = c_this->getFreeCount();
	int wrap_out = (c_out);
	return wrap_out;
}

int bullet_btPoolAllocator_getMaxCount(btPoolAllocator* c_this){
	int c_out = c_this->getMaxCount();
	int wrap_out = (c_out);
	return wrap_out;
}

unsigned char* bullet_btPoolAllocator_getPoolAddress(btPoolAllocator* c_this){
	unsigned char * c_out = c_this->getPoolAddress();
	unsigned char* wrap_out = (unsigned char*)(void*)(c_out);
	return wrap_out;
}

unsigned char* bullet_btPoolAllocator_getPoolAddress1(btPoolAllocator* c_this){
	unsigned char const * c_out = c_this->getPoolAddress();
	unsigned char* wrap_out = (unsigned char*)(void*)(c_out);
	return wrap_out;
}

int bullet_btPoolAllocator_getUsedCount(btPoolAllocator* c_this){
	int c_out = c_this->getUsedCount();
	int wrap_out = (c_out);
	return wrap_out;
}

bool bullet_btPoolAllocator_validPtr(btPoolAllocator* c_this,void* ptr){
	void * c_arg_ptr=(void *)(void*)(ptr);
	bool c_out = c_this->validPtr(c_arg_ptr);
	bool wrap_out = (c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
